using System;
using ns27;

namespace Triton.Game.Mapping
{
	[Attribute38("FriendListChallengeButton")]
	public class FriendListChallengeButton : FriendListUIElement
	{
		public GameObject m_AvailableIcon => method_3<GameObject>("m_AvailableIcon");

		public GameObject m_BusyIcon => method_3<GameObject>("m_BusyIcon");

		public TooltipZone m_TooltipZone => method_3<TooltipZone>("m_TooltipZone");

		public TextureOffsetStates m_SpectatorIcon => method_3<TextureOffsetStates>("m_SpectatorIcon");

		public GameObject m_SpectatorIconHighlight => method_3<GameObject>("m_SpectatorIconHighlight");

		public GameObject m_DeleteIcon => method_3<GameObject>("m_DeleteIcon");

		public NestedPrefab m_ChallengeMenu => method_3<NestedPrefab>("m_ChallengeMenu");

		public BnetPlayer m_player => method_3<BnetPlayer>("m_player");

		public PegUIElement m_challengeMenuInputBlocker => method_3<PegUIElement>("m_challengeMenuInputBlocker");

		public string m_previousSpectatorIconState => method_4("m_previousSpectatorIconState");

		public bool IsChallengeMenuOpen => method_11<bool>("get_IsChallengeMenuOpen", Array.Empty<object>());

		public FriendListChallengeButton(IntPtr address, string className)
			: base(address, className)
		{
		}

		public FriendListChallengeButton(IntPtr address)
			: this(address, "FriendListChallengeButton")
		{
		}

		public void Start()
		{
			method_8("Start");
		}

		public void OnDestroy()
		{
			method_8("OnDestroy");
		}

		public void OnDisable()
		{
			method_8("OnDisable");
		}

		public bool CanChallenge()
		{
			return method_11<bool>("CanChallenge", Array.Empty<object>());
		}

		public bool CanSpectate()
		{
			return method_11<bool>("CanSpectate", Array.Empty<object>());
		}

		public BnetPlayer GetPlayer()
		{
			return method_14<BnetPlayer>("GetPlayer", Array.Empty<object>());
		}

		public bool SetPlayer(BnetPlayer player)
		{
			return method_11<bool>("SetPlayer", new object[1] { player });
		}

		public void UpdateButton()
		{
			method_8("UpdateButton");
		}

		public new bool ShouldBeHighlighted()
		{
			return method_11<bool>("ShouldBeHighlighted", Array.Empty<object>());
		}

		public new void OnPress()
		{
			method_8("OnPress");
		}

		public new void OnRelease()
		{
			method_8("OnRelease");
		}

		public new void OnOver(InteractionState oldState)
		{
			method_8("OnOver", oldState);
		}

		public new void OnOut(InteractionState oldState)
		{
			method_8("OnOut", oldState);
		}

		public bool UpdateSpectateButtonState()
		{
			return method_11<bool>("UpdateSpectateButtonState", Array.Empty<object>());
		}

		public bool UpdateEditModeButtonState()
		{
			return method_11<bool>("UpdateEditModeButtonState", Array.Empty<object>());
		}

		public void ShowTooltip()
		{
			method_8("ShowTooltip");
		}

		public void UpdateTooltip()
		{
			method_8("UpdateTooltip");
		}

		public void HideTooltip()
		{
			method_8("HideTooltip");
		}

		public void OpenChallengeMenu()
		{
			method_8("OpenChallengeMenu");
		}

		public void CloseChallengeMenu()
		{
			method_8("CloseChallengeMenu");
		}

		public void InitChallengeMenuInputBlocker()
		{
			method_8("InitChallengeMenuInputBlocker");
		}

		public void OnChallengeMenuInputBlockerReleased(UIEvent e)
		{
			method_8("OnChallengeMenuInputBlockerReleased", e);
		}
	}
}
